home *** CD-ROM | disk | FTP | other *** search
/ Commodore Disc 7 / Commodore_Disc_07_19xx_-_de.d64 / gen.spr.ut. demo (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  7KB  |  189 lines

  1. 10 rem    general sprite utility demo
  2. 20 rem   -----------------------------
  3. 30 :
  4. 40 poke 53280,0:poke 53281,0:print"[147]"chr$(14)
  5. 50 print"[158] [201]st [199]eneral [211]prite [213]tility im "
  6. 60 print" im [211]peicher (j/n)..:"
  7. 70 get a$:if a$="n" then print" [194]itte nachladen und neu [211]tarten":end
  8. 80 if a$="j" then sys 49152:goto 620
  9. 90 goto 70
  10. 100 :3D
  11. 110 print"[147] [196]er [194]efehl #s (fuer [211]et [211]prite)"
  12. 120 print" benoetigt folgend [208]arameter:"
  13. 130 #an,1,6,8,204,205,206,207,208,209,210,211
  14. 140 :
  15. 150 data 0, 0, 0, 0, 0, 0, 0, 8, 0, 0,174,128, 2,255,224, 11,174
  16. 160 data184, 43,191,186,175,255,250,171,255,234,166,102,102, 37, 85, 88, 58
  17. 170 data170,160, 63, 15, 12, 51, 15, 48, 48,205,204,207, 48,207,199, 48,204
  18. 180 data 60,243, 60,115, 3, 15,193, 17, 49, 64, 0, 72, 0, 0, 0, 0, 0
  19. 190 data 0, 0, 0, 8, 0, 0,174,128, 2,255,224, 11,174,184, 43,191,186
  20. 200 data175,255,250,171,255,234,166,102,102, 37, 85, 88, 58,170,160, 63, 63
  21. 210 data 61,255, 60, 51,211, 52, 55,195, 52,204,192,204,204,240,207,204,115
  22. 220 data195,204,195, 49, 63, 17, 68, 16, 0, 0, 0, 0, 0, 0, 0, 0, 8
  23. 230 data 0, 0,174,128, 2,255,224, 11,174,184, 43,191,186,175,255,250,171
  24. 240 data255,234,166,102,102, 37, 85, 88, 58,170,160, 63, 15, 12, 15, 15, 3
  25. 250 data 48,205,211,195,112, 51,195, 16,204, 48,195, 12, 48,115, 15, 20, 3
  26. 260 data 1, 4, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,174,160
  27. 270 data 2,255,224, 11,174,184, 43,191,186,175,255,250,171,255,234,166,102
  28. 280 data102, 37, 85, 88, 58,170,172, 51, 15, 7, 51, 15, 7,220,205,211,195
  29. 290 data112, 51, 51, 48,207, 51, 48,204,195, 48,204,220, 12,224, 65, 4, 64
  30. 300 data 0, 0,0,0
  31. 310 data 2,160, 0, 2,160, 0, 3,216, 0, 23,224, 0, 55,240, 0, 59, 88
  32. 320 data 0, 57,248, 0, 27,224, 0, 5,240,192, 29,239,240,254, 31,232, 15
  33. 330 data252,207, 3,240,120, 0, 32, 0, 0, 32, 0, 0,192, 0, 0,160, 0
  34. 340 data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  35. 350 data 0, 0, 1, 80, 0, 1, 80, 0, 3,224, 0, 23,248, 0, 53, 88, 0
  36. 360 data 59,232, 0, 4,240, 96, 29,239,240,254, 31,232, 15,252,207, 3,240
  37. 370 data124, 0, 32, 0, 0, 32, 0, 0,192, 0, 0,160, 0, 0, 0, 0, 0
  38. 380 data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  39. 390 data 0, 0, 0, 0, 0, 0, 0, 5, 80, 0, 2,168, 0, 15,246, 0, 3
  40. 400 data 56, 96, 59,247,240,248, 15,232, 15,252,207, 3,240,124, 0, 32, 0
  41. 410 data 0, 32, 0, 0,192, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0
  42. 420 data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  43. 430 data 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 0, 15,248, 96, 57, 87
  44. 440 data240,254,171,232, 14, 84,207, 3,240,124, 0, 32, 0, 0, 32, 0, 0
  45. 450 data192, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  46. 460 data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  47. 470 data 0, 0, 0, 0, 0, 0, 0, 0, 15,248, 96, 60, 15,240,251,243,232
  48. 480 data 15,252,207, 19,248,124, 25, 80, 0, 12,168, 0, 0, 0, 0, 0, 0
  49. 490 data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  50. 500 data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  51. 510 data 0, 0, 0, 0, 15,248, 96, 60, 15,240,251,243,232, 15,252,207, 19
  52. 520 data248,124, 24,112, 0, 28,248, 0, 6,244, 0, 2,124, 0, 0,212, 0
  53. 530 data 0, 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  54. 540 data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  55. 550 data 15,248, 96, 60, 15,240,251,243,232, 15,252,207, 19,248,124, 25, 80
  56. 560 data 0, 12,168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  57. 570 data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  58. 580 data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,224, 0, 15,248, 96, 57
  59. 590 data 87,240,254,171,232, 14, 84,207, 3,240,124, 0, 32, 0, 0, 32, 0
  60. 600 data 0,192, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  61. 610 data 0, 0, 0
  62. 620 :
  63. 630 rem     #s
  64. 640 :
  65. 650 print"[150]              [194]itte warten"
  66. 660 for t=0 to 12*64:read a:poke 200*64+t,a:next
  67. 670 print"[147] [196]er [194]efehl [158]#s (fuer [211]et [211]prite)"
  68. 680 print" benoetigt folgende [208]arameter:"
  69. 690 print"[158] #s,[206]r.,x,y,v/h,g/k,g/k,h/m,[194]lock"
  70. 700 print" [193]lso z.[194]. "
  71. 710 print"[158] #s,1,50,150,h,g,g,h,204 ([195][210])
  72. 720 #s,1,50,150,h,g,g,h,204
  73. 730 [153]" usw.":[141] 940
  74. 740 [153]"sys #s,2,100,150,v,k,k,h,204 (len(NULL))
  75. 750 #s,2,100,150,v,k,k,h,204:gosub 940
  76. 760 print"[158] #s,4,150,150,h,g,k,h,204 ([195][210])
  77. 770 #s,4,150,150,h,g,k,h,204:[141] 940
  78. 780 [153]"sys #s,8,200,150,v,k,g,h,204 (len(NULL))
  79. 790 #s,8,200,150,v,k,g,h,204:gosub 940
  80. 800 print"[158] #s,16,270,150,v,g,g,h,204 ([195][210]) [x>255 !]
  81. 810 #s,16,270,150,v,g,g,h,204:[141] 940
  82. 820 [153]"sys #s,32,100,180,v,g,g,m,200 (len(NULL))
  83. 830 #s,32,100,180,v,g,g,m,200:gosub 940
  84. 840 print" [212][193][211][212][197] "
  85. 850 get a$:if a$="" then 850
  86. 860 print"[147] [196]er [194]efehl [158]#c (fuer [211]et [195]olor)"
  87. 870 print" [198]ormat: [158]#c,[211]pr.[206]r.,sc,mc1,mc2"
  88. 880 print" [193]lso z.[194].[158] #c,1,5 (da kein [205]ulti-"
  89. 890 print" colorsprite nur eine [198]arbe)"
  90. 900 gosub 940:#c,1,5:gosub 940
  91. 910 print" [207]der bei [205]ulticolorsprites"
  92. 920 print"[158] #c,32,1,2,3 ([195][210])"
  93. 930 gosub 940:#c,32,1,2,3:gosub 940:goto 960
  94. 940 get a$:if a$="" then 940
  95. 950 return
  96. 960 print" [213]nd jetzt der [210]est"
  97. 970 #c,2,6:gosub 940
  98. 980 #c,4,7:gosub 940
  99. 990 #c,8,8:gosub 940
  100. 1000 #c,16,9:gosub 940
  101. 1010 print"[147] [196]er [194]efehl [158]#o (fuer [211]prite [207][198][198])
  102. 1020 [153]" kann dann die (NULL)prites wieder aus-"
  103. 1030 [153]" schalten.
  104. 1040 print" [194]efehl: [158]#o,[211]pr.[206]r. ([195][210])"
  105. 1050 print" [215]ollen [211]ie die [211]prites 1,4 u. 8"
  106. 1060 print" [193]usschalten so lautet der [194]efehl"
  107. 1070 print"[158] #o,13 ([195][210])":gosub 940
  108. 1080 #o,13
  109. 1090 print" [193]nschalten kann man die [211]prites"
  110. 1100 print" dann wieder ueber den #s.. [194]efehl":gosub 940
  111. 1110 #s,1,50,150,h,g,g,h,204
  112. 1120 #s,4,150,150,h,g,k,h,204
  113. 1130 #s,8,200,150,h,k,g,h,204
  114. 1140 gosub 940
  115. 1150 print"[147] [196]er naechste [194]efehl dient zur [193]ni-"
  116. 1160 print" mation der [211]prites :"
  117. 1170 print" [194]efehl:[158]#an,[211]pr.[206]r.,[211]peed,[193]nzahl,-"
  118. 1180 print"             [194]lock 1,[194]lock 2,.. ([195][210])"
  119. 1190 print" [193]lso in diesem [194]eispiel lautet der"
  120. 1200 print" [194]efehl so:"
  121. 1210 print"[158] #an,1,6,8,204,205,206,207,208,209,210,211 ([195][210])
  122. 1220 [153]" vals koennen bis zu 20 atnnimations-"
  123. 1230 [153]" sequenzen pro (NULL)prite erreicht  werden."
  124. 1240 [141] 940
  125. 1250 #an,1,6,8,204,205,206,207,208,209,210,211
  126. 1260 [141] 940
  127. 1270 [153]" (NULL)nd nun die anderen (NULL)prites":[141] 940
  128. 1280 #an,2,5,8,204,205,206,207,208,209,210,211
  129. 1290 #an,4,5,8,204,205,206,207,208,209,210,211
  130. 1300 #an,8,5,8,204,205,206,207,208,209,210,211
  131. 1310 #an,16,5,8,204,205,206,207,208,209,210,211
  132. 1320 [141] 940
  133. 1330 [153]"load str$er (NULL)prite (NULL)r. 32 noch mit:"
  134. 1340 [153]" sys#an,32,10,4,200,201,202,203 (len(NULL))"
  135. 1350 [141] 940
  136. 1360 #an,32,10,4,200,201,202,203
  137. 1370 [141] 940
  138. 1380 [153]"load atnnhalten laesst sich die atnnimation"
  139. 1390 [153]" mit dem peekefehl:sys#ao,(NULL)pr.(NULL)r. (len(NULL))"
  140. 1400 [153]" (fuer atnnimation off):"
  141. 1410 [153]" (NULL)oll (NULL)prite 1 anhalten so lautet"
  142. 1420 [153]" str$er peekefehl so:sys #ao,1 (len(NULL))":[141] 940
  143. 1430 #ao,1
  144. 1440 [141] 940
  145. 1450 [153]" chr$estartet wird dann wieder mit den"
  146. 1460 [153]" sys#an peekefehl":[141] 940
  147. 1470 #an,1,6,8,204,205,206,207,208,209,210,211
  148. 1480 [141] 940
  149. 1490 [153]"load str$ie naechste ascunktion von chr$eneral-"
  150. 1500 [153]" (NULL)prite (NULL)tility ist der peekefehl:"
  151. 1510 [153]" sys#ms,(NULL)pr.(NULL)r.,(NULL)peed,(NULL)ichtung (len(NULL))"
  152. 1520 [153]" das #ms steht fuer (NULL)ove (NULL)prite "
  153. 1530 [153]" (NULL)ollen (NULL)ie z.peek. (NULL)prite 1 nach oben"
  154. 1540 [153]" bewegen so lautet der peekefehl:"
  155. 1550 [153]"sys #ms,1,1,1 (len(NULL))":[141] 940
  156. 1560 #ms,1,1,1:[141] 940
  157. 1570 [153]" str$ie str$aten fuer die (NULL)ichtung entnehmen"
  158. 1580 [153]" (NULL)ie doch bitte der (NULL)rogrammbeschrei-"
  159. 1590 [153]" bung."
  160. 1600 [153]" (NULL)nd nun die anderen (NULL)prites":[141] 940
  161. 1610 #ms,1,2,2
  162. 1620 #ms,2,1,3
  163. 1630 #ms,4,1,4
  164. 1640 #ms,8,1,6
  165. 1650 #ms,16,1,7
  166. 1660 #ms,32,1,8
  167. 1670 [141] 940
  168. 1680 [153]"load (NULL)oll ein (NULL)prite angehalten werden"
  169. 1690 [153]" so dient dazu der peekefehl:"
  170. 1700 [153]" sys#mo,(NULL)pr.(NULL)r. (len(NULL))
  171. 1710 print" ( [205]ove [207][198][198])"
  172. 1720 print" [211]oll [211]prite 1 u. 16 stehen so lautet"
  173. 1730 print" der [194]efehl:[158] #mo,17 ([195][210])"
  174. 1740 gosub 940
  175. 1750 #mo,17
  176. 1760 gosub 940
  177. 1770 print" [196]ie [194]ewegung kann dann wieder mit dem"
  178. 1780 print"[158] #ms [194]efehl fortgesetzt werden"
  179. 1790 gosub 940
  180. 1800 #ms,1,2,2
  181. 1810 #ms,16,1,7
  182. 1820 gosub 940
  183. 1830 print"[147] [193]lle die [198]unktion sind unabhaenhig"
  184. 1840 print" von einander und laufen alle per"
  185. 1850 print"[150] [201]nterrupt."
  186. 1860 print" [218]um [194]eweis hier das [196]emoprogramm....."
  187. 1870 gosub 940
  188. 1880 list
  189.